Skip to content

scsi/block: NUMA-local scan allocations, shared-tag path cleanup, and SCSI I/O counters#752

Open
blktests-ci[bot] wants to merge 3 commits intolinus-master_basefrom
series/1083261=>linus-master
Open

scsi/block: NUMA-local scan allocations, shared-tag path cleanup, and SCSI I/O counters#752
blktests-ci[bot] wants to merge 3 commits intolinus-master_basefrom
series/1083261=>linus-master

Conversation

@blktests-ci
Copy link
Copy Markdown

@blktests-ci blktests-ci Bot commented Apr 20, 2026

Pull request for series with
subject: scsi/block: NUMA-local scan allocations, shared-tag path cleanup, and SCSI I/O counters
version: 2
url: https://patchwork.kernel.org/project/linux-block/list/?series=1083261

@blktests-ci
Copy link
Copy Markdown
Author

blktests-ci Bot commented Apr 20, 2026

Upstream branch: d60bc14
series: https://patchwork.kernel.org/project/linux-block/list/?series=1083261
version: 2

@blktests-ci
Copy link
Copy Markdown
Author

blktests-ci Bot commented Apr 21, 2026

Upstream branch: b4e0758
series: https://patchwork.kernel.org/project/linux-block/list/?series=1083261
version: 2

@blktests-ci blktests-ci Bot force-pushed the series/1083261=>linus-master branch from 421cf99 to 6e400f8 Compare April 21, 2026 07:06
@blktests-ci blktests-ci Bot force-pushed the linus-master_base branch from ceec5ed to 3b54e52 Compare April 22, 2026 20:20
@blktests-ci
Copy link
Copy Markdown
Author

blktests-ci Bot commented Apr 22, 2026

Upstream branch: 6596a02
series: https://patchwork.kernel.org/project/linux-block/list/?series=1083261
version: 2

@blktests-ci blktests-ci Bot force-pushed the series/1083261=>linus-master branch from 6e400f8 to df480d9 Compare April 22, 2026 20:26
@blktests-ci blktests-ci Bot force-pushed the linus-master_base branch from 3b54e52 to 6a0b974 Compare April 23, 2026 16:58
@blktests-ci
Copy link
Copy Markdown
Author

blktests-ci Bot commented Apr 23, 2026

Upstream branch: 507bd4b
series: https://patchwork.kernel.org/project/linux-block/list/?series=1083261
version: 2

@blktests-ci blktests-ci Bot force-pushed the series/1083261=>linus-master branch from df480d9 to 04a61e0 Compare April 23, 2026 17:04
@blktests-ci blktests-ci Bot force-pushed the linus-master_base branch from 6a0b974 to 59ca59b Compare April 24, 2026 00:56
@blktests-ci
Copy link
Copy Markdown
Author

blktests-ci Bot commented Apr 24, 2026

Upstream branch: dd6c438
series: https://patchwork.kernel.org/project/linux-block/list/?series=1083261
version: 2

@blktests-ci blktests-ci Bot force-pushed the series/1083261=>linus-master branch from 04a61e0 to c5c14f9 Compare April 24, 2026 01:01
@blktests-ci blktests-ci Bot force-pushed the linus-master_base branch 2 times, most recently from 94f0438 to 857ada9 Compare April 24, 2026 07:54
blah325 and others added 2 commits April 24, 2026 16:56
…apter

When a host adapter is attached to a specific NUMA node, allocating
scsi_device and scsi_target via kzalloc() may place them on a remote
node.  All hot-path I/O accesses to these structures then cross the NUMA
interconnect, adding latency and consuming inter-node bandwidth.

Use kzalloc_node() with dev_to_node(shost->dma_dev) so allocations land
on the same node as the HBA, reducing cross-node traffic and improving
I/O performance on NUMA systems.

Signed-off-by: James Rizzo <[email protected]>
Signed-off-by: Sumit Saxena <[email protected]>
Original patch [1] by Bart Van Assche; this version is rebased onto the
current tree.  In testing it improves IOPS by roughly 16-18% by removing
the fair-sharing throttle on shared tag queues.

This patch removes the following code and structure members:
- The function hctx_may_queue().
- blk_mq_hw_ctx.nr_active and request_queue.nr_active_requests_shared_tags
  and also all the code that modifies these two member variables.

[1]: https://lore.kernel.org/linux-block/[email protected]/

Signed-off-by: Bart Van Assche <[email protected]>
Signed-off-by: Sumit Saxena <[email protected]>
@blktests-ci
Copy link
Copy Markdown
Author

blktests-ci Bot commented Apr 24, 2026

Upstream branch: dd6c438
series: https://patchwork.kernel.org/project/linux-block/list/?series=1083261
version: 2

iorequest_cnt and iodone_cnt are updated on every command dispatch and
completion, often from different CPUs on high queue depth workloads.
Using adjacent atomic_t fields caused cache line contention between the
submission and completion paths.

Represent these statistics with struct percpu_counter so increments are
mostly local to each CPU, avoiding false sharing without growing
struct scsi_device further for cache-line padding.

Suggested-by: Bart Van Assche <[email protected]>
Signed-off-by: Sumit Saxena <[email protected]>
@blktests-ci blktests-ci Bot force-pushed the series/1083261=>linus-master branch from c5c14f9 to 41afac9 Compare April 24, 2026 07:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants